hibernate不能在mysql表上生成自动增量约束条件
我一直在通过不同的论坛搜索信息,但我尝试了不同的解决方案,但是我仍然无法纠正我的问题. 我正在使用Hibernate4注释来映射我的实体.当使用MySQL中的Hibernate创建表时,未检测到自动增量密钥. 我有以下代码: @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(unique = true, nullable = false) private int responseId; 我也尝试了: @Id @GenericGenerator(name="generator", strategy="increment") @GeneratedValue(generator="generator") private int responseId; 使用Hibernate,ID会自动分配给一行,但是在MySQL表中,它没有自动插入约束.我必须手动将字段标记为AI.当我手动插入测试或使
18 2024-03-20
编程技术问答社区
maven-compiler-plugin 3.6.0不能从注释中编译生成的源代码
我们刚刚将JBOSS从6.1.0升级到Wildfly 10.1,并对模块和人工制品版进行了各种相关的升级,等等.在一个模块中,这会导致我们的Cobertura编译失败,而编译器误差失败.我发现 iLlegalstateException在Hibernate Metamodel产生的Metamodel Geration中编译器-Plugin 3.6.0(从3.1起).这似乎可以解决我的问题,但仅在本地解决.我可以编译Cobertura的模块,但事实证明这是一个新问题. 该模块的一些注释生成的来源由另一个模块使用,并且找不到类文件.发生了什么变化?生成的源目录包含Java文件,但没有编译类. 它看着一个点,就像更改构建过程阶段以从流程源生成源,但后来失败了. . 由于3.1和3.6.0之间的变化,还有其他需要更改的东西吗? (我不熟悉如何处理注释 - 我只是科伯拉拉支持家伙.) pom文件:
48 2024-02-26
编程技术问答社区
当我提交交易时,完整性约束被违反了
我正在使用Hibernate 4.0 Final和OJDBC6来开发我的Web应用程序.一切都还可以,除非我尝试插入新的父母/子女关系.首先,这些是实体: @Entity @Table(name = "EMPLOYEE") public class Employee implements Serializable, Cloneable { @Id @SequenceGenerator(name = "seq", sequenceName = "P_SEQ") @GeneratedValue(generator = "seq") @Column(name = "ID_EMPLOYEE") private long idEmployee; ...... @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "employee", orph
10 2024-02-26
编程技术问答社区
如何在字段级创建元注释?
我有一个带注释的休眠课: @Entity public class SimponsFamily{ @Id @TableGenerator(name = ENTITY_ID_GENERATOR, table = ENTITY_ID_GENERATOR_TABLE, pkColumnName = ENTITY_ID_GENERATOR_TABLE_PK_COLUMN_NAME, valueColumnName = ENTITY_ID_GENERATOR_TABLE_VALUE_COLUMN_NAME) @GeneratedValue(strategy = GenerationType.TABLE, generator = ENTITY_ID_GENERATOR) private long id; ... } 由于我不会以这种方式注释我的班级的每个 id 字段,所以
26 2024-02-26
编程技术问答社区
我如何让Hibernate调用我的自定义类型定义?
我正在尝试定义一个复合词,以处理我的JPA/Hibernate应用程序中的特定类型.我有一个称为ApplicationMessageType的复合构造,该型旨在处理我的映射. 根据我阅读的内容,我应该能够在包含Typedefs的域层次结构中创建一个package-info.java类.我的看起来像这样: @TypeDefs({ @TypeDef( defaultForType = ApplicationMessage.class, typeClass = ApplicationMessageType.class ) }) package mptstp.domain; import mptstp.domain.messages.ApplicationMessage; import org.hibernate.annotations.TypeDef; import org.hibernate.annotations.TypeDe
8 2024-02-26
编程技术问答社区
用Hibernate持久化长字符串的问题
在我的Web应用程序中,我有一个文本区域,其用户填充的内容最终被Hibernate持续到DB.我一直遇到一个问题,即当用户输入超出一定长度时,持久性就会失败.有没有办法通过冬眠注释或在配置中指出该特定字段应支持更长的字符串,并且数据库列类型应反映这一点? 这是我得到的例外: Caused by: java.sql.BatchUpdateException: Data truncation: Data too long for column 'introText' at row 1 at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2007) at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1443) at org.hibernate.jdbc.Bat
6 2024-02-26
编程技术问答社区
使用连接表和hibernate注解进行一对多的休眠。
我想使用联接表在两个表之间进行一对多关系. 这就是为什么我要使用联接表: hibernate Unirecletnal to bo协会 - 为什么会更好? 为什么是否建议避免在外键上单向一对多协会? 最后,我想使用Hibernate注释执行此操作. 我找到了一些使用XML映射来执行此操作的示例,但没有注释. 我相信这将是需要创建表的方式 CREATE TABLE `PRODUCT` ( `PRODUCT_ID` BIGINT PRIMARY KEY AUTO_INCREMENT ); CREATE TABLE `PARTS` ( `PART_ID` BIGINT PRIMARY KEY AUTO_INCREMENT ); -- USER_IMAGE_ID must be unique if we want a one-to-many relationship between PRODUCT
8 2024-02-26
编程技术问答社区
java.lang.NoSuchMethodError: org.hibernate.cfg.Configuration.addAnnotatedClass
我是JPA和Hibernate的新手,当我尝试此 org.hibernate.ejb.HibernatePersistence 我遇到了这个错误.. log4j:WARN No appenders could be found for logger (org.jboss.logging). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. Exception in thread "main" java.lang.NoSuchMethodError: org.hibernate.cfg.Configuration.addAnnotatedClass(Ljava/lang/Class;)Lorg/hiberna
60 2024-02-26
编程技术问答社区
在保存时,一个具有相同标识符值的不同对象已经与会话相关联的错误
可能的重复: spring + hibernate相同的标识符值已经与会话关联 我的冬眠注释一直有问题.我在两个类之间有双向关系.这是映射(感谢 axtavt ): @Entity public class Receipt implements Serializable { @Id @GeneratedValue(strategy=GenerationType.AUTO) private Long id; @OneToMany(cascade = CascadeType.ALL, mappedBy = "receipt") private List collections; ... } @Entity public class Collection implements Serializable { @Id @GeneratedValue(strategy=Gen
22 2024-02-26
编程技术问答社区
JPA注释-如何从一个与当前对象不同的表中检索一个单一的值?
如何将单个值从另一个表中的列映射到当前对象? 示例: class Foo { @Id @Column(name="FOO_ID") private String fooId; @Column(name="FOO_A") private String fooA; //Column to map to another table? //is a one to one mapping - but don't want a separate object for this. private String barCode; } 表:Fields foo:FOO_ID, FOO_A bar:FOO_ID, BAR_CODE 如何使用JPA annotations? 来检索BAR_CODE字段,而无需创建单独的对象(或辅助表) 解决方案 使用辅助表.这使您可以一对一地映射一个实体,另一个表并定义
6 2024-02-26
编程技术问答社区
用Hibernate @Index注释在DB上创建索引
我的项目上有注释驱动的冬眠帽. 现在我想通过列创建索引.我当前的列定义是 @NotNull @Column(name = "hash") private String hash; 我在这里添加@Index注释. @NotNull @Column(name = "hash") @Index(name="hashIndex") private String hash; ,然后放下表并重新启动Tomcat服务器.实例化服务器后,创建了表,但是在以下查询时我看不到新的索引. SHOW INDEX FROM tableName 它有望用新索引构建表.我正在与mysql一起使用InnoDB. 解决方案 有趣的是,在我的Hibernate配置中,我正在使用hibernate.hbm2ddl.auto=update. 此一个修改现有数据库.我正在手动丢下表tableName,然后重新启动tomcat,并且该桌子已经构造了,但没有创建索引. 但是,我
32 2024-02-26
编程技术问答社区
如何测试@Valid
在我的实体中,我有一些验证的冬眠注释,例如@notempty,@pattern ..和其他人 在我的控制器中,在保存操作上,它具有@valid参数. 但是,如果任何实体都有任何必需的字段,没有注释我会有问题. 所以我想测试每个实体,以确保它们具有必要的注释. 类似: @Test(expect=IllegalArgumentException.class) public void testAllNull() { Person p = new Persson(); // Person name has an @NotEmpty validator.validate(p); } 但是如何验证它?谁被要求检查@Valid? 谢谢. 解决方案 我发现了如何检查: @Autowired private LocalValidatorFactoryBean validator; ... valida
18 2024-02-26
编程技术问答社区
谁能给我解释一下休眠中的@MapsId?
有人可以在休眠中向我解释@MapsId吗?我很难理解它. 如果可以用示例来解释它,那将是很棒的,在哪种用例中,最适用? 解决方案 这是一个很好的解释,来自对象db . 指定多个或OneToOne关系属性,该属性为嵌入式主键,嵌入式主键内的属性或父实体的简单主键提供了映射.值元素指定关系属性对应的复合密钥中的属性.如果实体的主要密钥与关系引用的实体的主要密钥相同,则未指定值属性. // parent entity has simple primary key @Entity public class Employee { @Id long empId; String name; ... } // dependent entity uses EmbeddedId for composite key @Embeddable public class DependentId { String name; long empid;
16 2024-02-26
编程技术问答社区
Springs3 Hibernate3注释配置
我正在尝试为Hibernate3注释配置Springs3.我会遇到以下错误. 我对我的申请进行了调整.它在getData()中创建用户对象时给出了此例外. 例外: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) javax.servlet.http.HttpServlet.service(HttpServlet.java:62
38 2023-12-22
编程技术问答社区
如果存在类似的行,如何避免创建一个新的行?
我需要配置Hibernate,以避免创建重复的行(尽管该行存在它创建了一个新行,并且由于仅将其设置为一个新的,其余所有的都将其设置为null) ) 可以说我有一排如下 id des index age 1 MyName 2 23 尽管我只是将myname设置为des,但它已经存在于名称表Hibernate中 创建一个新的行,如下 id des index age 1 MyName 2 23 2 MyName Null Null
16 2023-11-09
编程技术问答社区
如何在Spring中进行单元测试验证注释?
我在类中有一些注释,例如 public class ProductModel { @Pattern(regexp="^(1|[1-9][0-9]*)$", message ="Quantity it should be number and greater than zero") private String quantity; 然后在我的控制器中 @Controller public class Product Controller private ProductService productService; @PostMapping("/admin/product") public String createProduct(@Valid @ModelAttribute("product") ProductModel productModel, BindingResult result) { // add println for see the errors
12 2023-11-07
编程技术问答社区
Hibernate每一个实体有两个表
我有一个实体 - User.它由User.class. 描述 Hibernate创建一个每个实体的表 现在,我需要另一个表格与User类型的数据,我只需要将我的实体保存到该表. 数据结构(类似): table users_1_table{ string id; string username; } table users_2_table{ string id; string username; } 使用此: session.save(user1,"users_1_table") session.save(user2,"users_2_table") 结果,我应该在users_1_table和users_2_table中user1中的user1. . 由于系统限制,我无法将这两个对象放在一个表中. (即使创建额外的字段也是坏主意). 我可以在不分类的情况下这样做吗?使用程序化的Hibernate配置? 解决方案 前言:
26 2023-09-21
编程技术问答社区
为什么改变joinColumn的顺序,hibernate会返回一个正确或错误的查询?
问题: 为什么要更改joincolumn的顺序,休眠返回正确或不正确的查询? 首先加入: @OneToOne @JoinTable(name="TTR_POA_UPA", joinColumns = { @JoinColumn(name="ANO", insertable=false, updatable=false), @JoinColumn(name="ID_ESCALA", insertable=false, updatable=false), @JoinColumn(name="MES", insertable=false, updatable=false) }, inverseJoinColumns = { @JoinColumn(name="ANO", insertable=false, updata
16 2023-09-12
编程技术问答社区
如何用注解和纯Java在Spring中设置hibernate.hbm2ddl.auto
仅使用Java和注释在春季设置以下内容. 我应该有可能,我确实相信,使项目免费. ps:这应该不重要,但我在Heroku上运行. 解决方案 将其添加到DataSource()所在的类中,并且已解决了我的问题. final Properties hibernateProperties() { final Properties hibernateProperties = new Properties(); hibernateProperties.setProperty("hibernate.hbm2ddl.auto", "update"); hibernateProperties.setProperty("hibernate.dialect", "org.hibernate.dialect.PostgreSQLDialec
56 2023-09-12
编程技术问答社区