- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的应用程序中有 2 个模型,它们具有一对多和多对一关系。
模型类是:
发票模型
@Entity
@Data
public class Invoice implements java.io.Serializable {
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid2")
private String id;
private String business;
private String client;
private String invoiceNo;
@Enumerated(EnumType.STRING)
private InvoiceStatus status;
private String additionalInfo;
@OneToMany(mappedBy = "invoice")
private Set<InvoiceItem> items = new HashSet<>();
@CreationTimestamp
private LocalDateTime createdAt;
@UpdateTimestamp
private LocalDateTime updatedAt;
private LocalDateTime deletedAt;
}
发票项目模型
@Entity
@Data
public class InvoiceItem {
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid2")
private String id;
@ManyToOne
@JoinColumn(name="invoice_id", nullable = false)
private Invoice invoice;
private String description;
@Enumerated(EnumType.STRING)
private InvoiceItemType type;
@CreationTimestamp
private LocalDateTime createdAt;
@UpdateTimestamp
private LocalDateTime updatedAt;
private LocalDateTime deletedAt;
}
我有一个 api 端点,用于为发票创建发票项目
@RestController
@RequestMapping(path="/api/v1/invoices/{invoice}/items")
public class InvoiceItemController {
@Autowired
private ModelMapper modelMapper;
@Autowired
private InvoiceItemService invoiceItemService;
@Autowired
private InvoiceService invoiceService;
@PostMapping
public ResponseEntity<InvoiceItem> addInvoiceItem(@PathVariable("invoice") String invoiceId, @RequestBody InvoiceItemCreationDto invoiceItemCreationDto) throws NotFoundException {
Optional<Invoice> invoiceOptional = invoiceService.findInvoiceById(invoiceId);
if (!invoiceOptional.isPresent()) {
throw new NotFoundException("Invoice not found");
}
InvoiceItem invoiceItem = modelMapper.map(invoiceItemCreationDto, InvoiceItem.class);
invoiceItem.setInvoice(invoiceOptional.get());
InvoiceItem savedInvoiceItem = invoiceItemService.addInvoiceItem(invoiceItem);
return new ResponseEntity<>(savedInvoiceItem, HttpStatus.CREATED);
}
}
发票服务
package com.spencerfeng.invoiceservice.services;
import com.spencerfeng.invoiceservice.models.Invoice;
import com.spencerfeng.invoiceservice.repositories.InvoiceRepository;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Optional;
public class InvoiceServiceImpl implements InvoiceService {
@Autowired
InvoiceRepository invoiceRepository;
@Override
public Invoice addInvoice(Invoice invoice) {
return invoiceRepository.save(invoice);
}
@Override
public Optional<Invoice> findInvoiceById(String id) {
return invoiceRepository.findById(id);
}
}
发票存储库
package com.spencerfeng.invoiceservice.repositories;
import com.spencerfeng.invoiceservice.models.Invoice;
import org.springframework.data.repository.CrudRepository;
public interface InvoiceRepository extends CrudRepository<Invoice, String> {
}
发票项目服务
package com.spencerfeng.invoiceservice.services;
import com.spencerfeng.invoiceservice.models.InvoiceItem;
import com.spencerfeng.invoiceservice.repositories.InvoiceItemRepository;
import org.springframework.beans.factory.annotation.Autowired;
public class InvoiceItemServiceImpl implements InvoiceItemService {
@Autowired
private InvoiceItemRepository invoiceItemRepository;
@Override
public InvoiceItem addInvoiceItem(InvoiceItem invoiceItem) {
return invoiceItemRepository.save(invoiceItem);
}
}
但是,当我调用此 api 端点为发票创建发票项目时,invoiceOptional 中的 items 属性出现“无法评估表达式方法抛出 'org.hibernate.exception.GenericJDBCException' 异常,而其他属性都很好.
最佳答案
您可以尝试排除一个 POJO 上的循环 tostring\hashcode 引用:
@ToString(exclude = "invoice")
@EqualsAndHashCode(exclude = "invoice")
@Entity
@Getter @Setter
public class InvoiceItem {
或者通过在字段上使用 @EqualsAndHashCode.Exclude 和 @ToString.Exclude 来实现
@Entity
@Data
public class InvoiceItem {
@ManyToOne
@EqualsAndHashCode.Exclude @ToString.Exclude
@JoinColumn(name="invoice_id", nullable = false)
private Invoice invoice;
关于java - 无法计算表达式方法抛出 'org.hibernate.exception.GenericJDBCException' 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59724177/
我有一个表单页面,当我保存它时,它会覆盖数据库。表单页面中有一个文本框,允许用户输入 4000 个字符,但如果用户输入的字符超过此值,则会出现以下错误: ERROR 15:54:05 Abstrac
我有一个名为 ProdTransaction 的实体。我正在保存两条 ProdTransaction 类型的记录。独立运行时,两个插入都会成功。我的意思是 tranDAO.save(record1)
@Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="ICCID", length=100,unique=true
我运行我的 java 应用程序,出现问题,日志如下: org.hibernate.exception.GenericJDBCException: could not insert: [com.abc.
我正在学习 hibernate/spring mvc,但启动服务器时出现异常。我在 intellij 工作,这个数据库连接到我的 IDE 并且工作完美(“测试连接”也可以),但是当我试图在配置文件中创
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version). log4j:WAR
我一直在努力解决这个问题一段时间。我有一个使用 Struts2、spring 和 Hibernate 的基于 Web 的应用程序。我使用 Spring 将 struts action 和 busine
我的应用程序中有 2 个模型,它们具有一对多和多对一关系。 模型类是: 发票模型 @Entity @Data public class Invoice implements java.io.Seria
我正在尝试使用 Criteria API 在 Hibernate 中进行 SUBSTR 查询: Type[] type = {Hibernate.INTEGER,Hibernate.I
尝试将字符串转换为日期进行比较时,Hibernate 会抛出异常 org.hibernate.exception.GenericJDBCException: could not execute que
我正在使用 JBPM jar 来遵循一些流程。以前我们在 jar 中做了一些代码更改并使用 Malven 构建并且它工作正常。现在我们再次进行了一些代码更改并使用 Ant 脚本进行构建。但它会抛出异常
我想将用户反馈存储到这个表中 CREATE TABLE SITEWATCHER.HELPREQUESTS ( request_id int(11) NOT NULL AU
我有这段代码: } catch (HibernateException e) { loginAnswer = new LoginCustomerAreaAnswer(9
我有一个带有 @Lob 注释的简单 EntityBean。如果我删除这个注解,我在 JBossAS 6.0.0.Final 和 MySQL5 上不会出错。但是如果我用 @Lob 注释它(因为在我的例子
我正在使用 hibernate 3.6.7 进行映射。我将连接部分设置为静态。我需要服务程序永远运行,另一个服务会调用这个服务的一些方法来查询数据库。当我让服务运行时,第一天它运行良好,但当我第二天调
我正在尝试使用可嵌入的注释将不同的值存储在一个对象中,以便在一个表中持久化。 我有两个类(class): 用户详细信息: package org.hibernet.src; @Entity @Tabl
当我执行我的主类时,我得到这个执行无法找出问题点 错误出现在行中事务tr = session.beginTransaction(); 错误堆栈显示: ERROR: Access denied for
您好,我在这些论坛上对此进行了彻底的研究,很多人都发布了一些内容,但这些都对我没有帮助。 我的对象: @Entity @Table(name = "ADDRESS") @NamedQuery(name
我们的服务器从去年开始就在客户端站点上运行,但昨晚由于某些 SQL/Hibernate 异常,服务器突然停止响应,但重新启动服务器后一切又开始工作。 这是我们的 hibernate 配置(.hbm.x
各位论坛的 friend 们:我正在学习《Learn OpenXava OpenXava by Examples》一书。 我已经完成了发票项目的第一部分,但我可以想到在发票实体中插入详细信息的问题。各
我是一名优秀的程序员,十分优秀!