hibernate杂项

使用hibernate自动生成工具时 会自动加catorry
如:
<hibernate-mapping>
    <class name="co.iplatform.management.data.Health" table="tservice_health" catalog=”xxx”>
但是往往你刚开始用的数据库名是暂时的,与产品库不一样,所以发布时要注意改正这些名字。( 如果不一致mysql报错却是什么拒绝访问某表,根本不知道是数据库选错了)
一般的不需要catalog比较好,在数据库连接字符串里指定默认数据库就行了。
数据库表名大小写敏感?反正mysql是这样的aBc != abc
乱码问题,数据库要设置好编码, 连接也需要写好编码 例如 :
jdbc:mysql://localhost:13306/moviebug?useUnicode=true&amp;characterEncoding=UTF-8
还不行,则要查找其他原因

--------------------

native sql

以前查询把查询放在事务里面就可以保证取得最新数据,这次在management console里面就遇到问题,调用native sql后查询的还是旧数据。

hibernate说当调用commit或session.flush时会同步数据,网上说commit是先flush在提交。
不管怎样,flush一定会同步数据,这是最保险的做法。

且查询不一定需要放在事务里面(某些情况除外)。

对于使用了native sql的情况,要注意,hibernate并不知道native sql会对数据产生影响,所以,执行了native sql后要session.flush而且要clear。

-------------------------



Total views.

© 2013 - 2024. All rights reserved.

Powered by Hydejack v6.6.1