草庐IT

Hibernate

全部标签

java - 为什么不用@Transactional 也能保存?

这个问题在这里已经有了答案:Springdatajpa@transactional(1个回答)关闭4年前。简化示例:@EntitypublicclassFoo{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)privateIntegerid;privateStringbar;//getters+setters}publicinterfaceFooRepositoryextendsCrudRepository{}@ServicepublicclassFooService{privatefinalFooRepositoryreposi

java - 如何用hibernate将汉字写入MySQL?

我正在使用JavaScript制作网络应用程序。我正在使用通过hibernate与MySQL数据库连接的javaservlet。在Servlet中有一个中文字符串,当我尝试将该字符串写入MySQL字段时,它显示为“?”在MySQL中。我在netbeans中的整个项目设置为charset=UTF-8。我试图将数据库中的排序规则和字符集设置为utf-8、utf8mb4、big5,但它们都不起作用。我还尝试将我的列从varchar更改为nvarchar,但是当我单击应用(MySQL工作台)时,该列仍然是“varchar”。这是我的servletprotectedvoidprocessRequ

mysql - Hibernate独有的两列

给定一个包含用户名和电子邮件的用户表。用户可以使用用户名和电子邮件登录。用户可以选择电子邮件作为他的用户名。当用户更改他的用户名或电子邮件时,新值必须在所有用户名和电子邮件组合的集合中是唯一的。是否可以使用hibernate符号对其进行建模,或者您是否需要在更高级别(如Java验证例程)执行此操作?小例子:|username|email||----------+------------||user1|a@smth.com||user2|b@smth.com|user2将他的用户名更改为a@smth.com应该是非法行为,因为user1已经将此值用作他的电子邮件。

java - 使用 MySQL 的 DataJpaTest 存储库测试,Hibernate 不会将用户设置为在 H2 DB 中自动递增

我正在尝试使用DataJpaTest测试我的SpringBoot存储库。我使用的是MySQL,所以我所有的模型都使用IDENTITY来生成ID:@Id@GeneratedValue(strategy=GenerationType.IDENTITY)privateLongid;但是正如您从下面的屏幕截图中看到的那样,当我运行测试时,Hibernate为除用户和属性之外的所有模型的ID设置“默认生成为标识”:这使得我无法在我的测试中创建用户(或属性),因为GenerationType.IDENTITY集总是在将其发送到数据库之前将id设置为null,这会导致以下错误:org.springf

java - Lob 使用 MySQL 和 jpa 返回 null

我正在尝试将文档作为BLOB存储在我拥有的Java域对象中。我看过一些帖子说可以使用@Lob来完成http://www.java2s.com/Tutorial/Java/0355__JPA/MarkByteArrayFieldAsLob.htm所以,我遇到的问题是,当我存储数据时,一切看起来都很好,我可以在我的mysql数据库中看到它,但是当我试图在域对象中取出它时,它总是空的。有什么想法吗?请注意,我在我的实体中使用的相关getter和setter如下:@Lobpublicbyte[]getData(){returndata;}publicvoidsetData(byte[]data

mysql - 我可以使用 Hibenrate hbm2ddl 在同一个数据库中创建 MyISAM 和 InnoDB 表吗

我的数据库中同时需要MyISAM表和InnoDB表,我正在使用hbm2ddl来创建它们。我可以使用Hibenratehbm2ddl在同一个数据库中创建MyISAM和InnoDB表吗?似乎选择方言迫使我使用其中一种。 最佳答案 好吧,正如您所写,如果您使用MySQL5InnoDBDialect,Hibernate将生成InnoDB表:publicclassMySQL5InnoDBDialectextendsMySQL5Dialect{publicbooleansupportsCascadeDelete(){returntrue;}pu

java - 通过 Hibernate 从 SQL 数据库中获取随机对象

我有以下MySql相关代码(ORDERBYRAND())。我想知道是否有hibernateHQL替代品(admin是boolean标记,表示用户是管理员)。这是工作代码:publiclonggetRandomAdmin(){Sessionsession=getSession();QueryselectQuery=session.createSQLQuery("SELECTuser_idFROMusersWHEREadmin='1'ORDERBYRAND()");selectQuery.setMaxResults(1);Listlist=null;try{list=selectQuery

java - 日历到日期映射

我有Hibernate的问题。我尝试将日历对象映射到我在表结构中使用的日期。在Hibernate的引用指南中,您可以找到有关类型映射的信息,在那里您可以找到类似“calendar_date”的信息。但是一个简单的等号不起作用(没有结果,但是phpMyAdmin给了我相同的查询结果):Listresult=session.createCriteria(Maturity.class).add(Restrictions.eq("dateB",date0)).list();这是成熟度类:packagedatahandler.objects;importjava.util.Calendar;im

HQL 中的 MySQL 匹配

因为我找不到太多关于HQL的文档,我经常在MYSQL中查找它,大约75%的时间它在HQL中工作,我想做的是启用针对特定字段的文本搜索在数据库中,注意性能影响。mysql文档说表结构必须是MyiSam,并在该字段上创建全文索引。并使用在HQL中看起来像这样的语句:wherematch(product)against(:textinput)有谁知道这是否受支持,或者HQL是否提供了一种更有效的方式来做这样的事情?感谢您的见解 最佳答案 所以让我根据自己的发现回答我自己的问题。回答我的第一个问题:HQL是否支持(匹配/反对)类答案是否定的

java - 如何将 Hibernate 集合映射从 Set 更改为 List

我正在使用eclipse工具生成我的注释域代码类。对于一对多和多对多关系,生成的代码集合使用Set类型。我想将其更改为List或ArrayList。我的配置应该是什么在reveng.xml中还有,MySQL和Java之间的标准转换类型是什么。我的意思是像varchar被转换为字符串,int被转换为int等等。任何人都可以共享一个用于类型转换的非常标准的reveng.xml文件...??? 最佳答案 您不应该默认使用List而不是Set。但如果您准时需要它,那可以帮助您:publicListfromSetToList(Setset){