我尝试从hibernate注释创建表。我需要具有Double类型的列,其长度指定为:(10,2)。因此,SQL语法显示如下:
... DOUBLE(10,2) ....
我试图做到这一点:
@Column(length = 10, precision = 2) ...
但是当我查看创建的表时,未指定Double列的长度。hibernate有解决方案吗?还是有必要手动更改表配置?
谢谢!
length
Column批注的元素 仅在使用字符串值的column时适用 。在您的情况下,应使用precision
和scale
元素。
@Column(precision=10, scale=2)
这是规范中关于它们的内容:
int
--precision
(可选)十进制(精确数字)列的精度。(仅在使用十进制列时适用。)int
--scale
(可选)十进制(精确数字)列的小数位数。(仅在使用十进制列时适用。)
问题内容: 我需要在hibernate状态下禁用ONLY_FULL_GROUP_BY。这是我当前的会话工厂。我不确定如何在其中指定sql_mode =’‘。 问题答案: 我认为您可以在JDBC连接字符串中进行设置,例如
问题内容: 我想在数据库中保存一个对象。 我正在使用MySQL数据库,但是当我尝试使用MySQL数据库时,出现一个异常:“数据大于列长度”。 如何使用休眠方式增加列的长度? 问题答案: 如果您的列使用注释 或使用其他列类型
问题内容: 我想在 Hibernate中 执行以下查询吗? 问题答案: 假设您的表是由一个类和实例变量映射的。然后,您将执行以下操作: 它应该返回您要寻找的结果。您只需要使名称适应您的类和参数名称即可。
问题内容: 什么和何时在休眠状态下使用DiscriminatorValue注释的最佳方案是什么? 问题答案: 这两个链接帮助我最了解继承概念: http://docs.oracle.com/javaee/6/tutorial/doc/bnbqn.html http://www.javaworld.com/javaworld/jw-01-2008/jw-01-jpa1.html?page=6 要了解
问题内容: 因此,我了解设置此属性 dynamic-update = true会 做什么,即,它仅考虑那些已修改的字段,并省略了为其他字段设置空值的工作。 节省开销,性能良好。 出于好奇而问:hibernate如何知道所有字段都被修改了?在触发更新查询之前,它是否先将选择查询生成的结果与数据库进行比较?假设是,那么比较不是性能的开销吗? 如我错了请纠正我。提前致谢! 问题答案: 因此,经过将近两个
问题内容: 什么时候使用独立标准?使用分离标准而不是普通标准有什么好处? 谢谢! 问题答案: 根据文档 一些应用程序需要在“分离模式”下创建条件查询,在该模式下,Hibernate会话不可用。此类可以在任何地方实例化,然后可以通过将会话传递到来获得一个Criteria 。所有方法都具有与Criteria接口的相应方法相同的语义和行为。