草庐IT

hibernate-postgresql

全部标签

java - Spring Boot Hibernate 5 忽略@Table 和@Column

这让我发疯。我正在实现SpringSocial,它要求您有一个名为UserConnection的数据库表(而不是使用使用下划线分隔两个词的标准命名约定)。所以在我天真的世界观中,我认为通过指定@Table(name="UserConnection")可以很容易地解决这个问题......但是不,那太容易了。注解被忽略,表被创建为user_connection,然后导致SpringSocial出现嘶嘶声。请告诉我有一些简单的方法可以告诉我的SpringBoot应用只命名一个表(及其对应的列)以使用驼峰命名约定而不是标准命名约定。 最佳答案

Java 请求占用 40-50MB 内存(Spring JPA Hibernate)

我正在使用带有JPAHibernate的springboot。我正在监控Heap服务,发现我的每个请求都占用了大约40-50MB。所以内存会增加,在GC运行几次请求后,它会释放内存,并且这种情况会一直持续下去。所以我的第一个问题是这是内存泄漏吗?我也在尝试找出造成这种情况的原因。因此,我使用Runtime.getRuntime()freeMemory和totalMemory()来确定在获取一个数据库调用并用它填充投影时大约使用了15MBpublicinterfaceRecommendationProjection{publicStringgetType();publicbooleang

java - hibernate 批量插入。它会使用一个插件而不是多个插件吗?

我一直在四处寻找,试图确定一些我不确定的Hibernate行为。在正确设置Hibernate批处理的情况下,它是否只会在发送批处理时使用多个插入语句?不可以使用独立于数据库的多插入语句吗?我想我正在尝试确定我是否真的正确设置了批处理。我看到了多个插入语句,但随后我也看到了“Executingbatchsize:25”这一行。我可以发布很多代码,但我尽量保持这个一般性。所以,我的问题是:1)您可以从日志中读取哪些内容来确定正在使用批处理?2)是否可以使Hibernate使用多行插入而不是多个插入语句? 最佳答案 Hibernate使用

java - postgresql:如何存储用户密码?

我在postgresql中使用play-framework2.0(javaweb-framework)。当今最常见的用户密码加密类型是什么?我了解到MD5在最近几年已经很流行了。User类(因此,在postgresql数据库中)字段“password”的正确数据类型是什么?谢谢 最佳答案 您想散列密码,而不是加密它(有关详细信息,请参阅thisquestion)。当前推荐的方法是使用自适应哈希算法,如bcrypt.jBcrypt是一个可靠的Java实现,您可以使用。至于数据库类型,您可以安全地将其视为字符串。

java - Hibernate - 自定义方言的 BigDecimal 列映射

我使用Hibernate作为我们的对象-关系映射,为一个晦涩的数据库使用自定义方言。我从这个数据库中检索的实体有一个列:@Column(name="GROSS_WEIGHT",precision=9,scale=3)privateBigDecimalgrossWeight;数据库将此列定义为数字,精度为9,小数位数为3。我可以看到Hibernate生成的用于检索数据的SQL,当我使用数据库查询工具执行相同的查询时,它会为GROSS_WEIGHT列返回“9.68”。但是,在Hibernate检索的实体中,“grossWeight”字段包含值“10”,scale为0,precision为2

java - Hibernate 实体代理初始化

我在使用未初始化的Hibernate实体时遇到问题。似乎它仍在返回一个未初始化的代理...如果我查看我的调试信息,我希望我的实体已被初始化。但它看起来像下面这样:entity={SomeEntity_$$_jvst47c_1e@9192}"SomeEntityImpl@1f3d4adb[id=1,version=0]"handler={org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer@9196}interfaces={java.lang.Class[2]@9197}constructed=truepersistent

java - NamedEntityGraph - JPA/Hibernate 抛出 org.hibernate.loader.MultipleBagFetchException : cannot simultaneously fetch multiple bags

我们有一个项目需要延迟加载实体的集合,但在某些情况下我们需要急切加载它们。我们为我们的实体添加了一个@NamedEntityGraph注释。在我们的存储库方法中,我们添加了一个“javax.persistence.loadgraph”提示以急切地加载在所述注释中定义的4个属性。当我们调用该查询时,Hibernate抛出org.hibernate.loader.MultipleBagFetchException:cannotsimultaneousfetchmultiplebags。有趣的是,当我将所有这些集合重新定义为急切获取时,Hibernate确实会急切获取它们,而不会出现Mult

java - Hibernate CRUD 类似于 Ruby on Rails 的脚手架

您是否知道有任何工具可以像RubyonRails的脚手架(为任何特定类创建简单的CRUD页面以允许使用虚拟数据快速填充数据库)那样工作,只是它使用Java类和Hibernate进行数据库访问,并且页面的JSP/JSF?当您正在对应用程序的一部分进行编程时,这是一种拖累,但需要的数据只能与尚未准备好的另一部分一起添加,或者直接将其插入数据库非常麻烦。 最佳答案 Grails是一个非常好的类Rails框架,构建在SpringMVC之上。为了持久化,他们使用GORM,它基本上是一个构建在Hibernate之上的类似ActiveRecord

java - Hibernate 单向父/子关系 - delete() 对子表执行更新而不是删除

如果我从父表中删除一条记录,我希望子表中的相应记录也被删除。我怎样才能让Hibernate从Child表中删除而不是尝试用null更新?我正在使用Hibernate3,但目前无法使用注释。我在下面附上了HBM、DAO等的副本。--提前致谢尝试从父/子关系表中删除数据时出现以下错误:Testcase:testDelete(com.dressbarn.imbo.model.data.hibernate.dao.CharityTransferDAOTest):CausedanERRORHibernateflushing:CouldnotexecuteJDBCbatchupdate;uncat

java - 如何配置 Hibernate 以使用 SSL 与数据库服务器通信?

我有一个现有的javawebapp,它使用Hibernate来实现持久性。有人告诉我,我必须与加密的数据库对话——所以我的第一个想法是将其设置为通过SSL进行通信——并弄清楚了如何设置Oracle以通过SSL监听JDBC——http://www.oracle.com/technology/tech/java/sqlj_jdbc/pdf/wp-oracle-jdbc_thin_ssl_2007.pdf并编写了一个快速测试类来验证它是否已设置并正常工作(通过标准JDBC连接)。这给我留下了配置Hibernate的问题——不幸的是我没有看到Hibernate如何支持它?