如何实现mysql 替换为使用休眠?我在任何地方都找不到这个。
问问题
3062 次
2 回答
2
我相信,作为 mySQL 扩展行为,它不被直接支持。与所有不受支持的查询语法一样,您可能希望在这种情况下使用本机 SQL。
hibernate 中原生 SQL 支持的参考,可以在这里找到。
于 2013-06-17T15:42:44.903 回答
1
实际上,您可以轻松地使用休眠命名查询。您可以在实体类中使用 Hibernate 映射文件或 Hibernate 注释来完成工作。
使用映射文件。
<hibernate-mapping>
......
<sql-query name="yourNamedReplaceQuery">
<![CDATA[REPLACE INTO T SELECT * FROM T]]>
</sql-query>
</hibernate-mapping>
使用注释
@NamedQueries({
@NamedNativeQuery(
name = "yourNamedReplaceQuery",
query = "REPLACE INTO T SELECT * FROM T"
)
})
@Entity
@Table(name = "your_object", catalog = "test")
public class YourObject implements java.io.Serializable {
调用命名查询。
Query query = session.getNamedQuery("findStockByStockCodeNativeSQL");
更多参考:http ://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querysql.html
于 2013-06-17T15:51:55.137 回答