- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 Spring Boot Controller 出现了一个奇怪的错误,没有返回最近创建的对象。
我有一个 Controller ,有两种方法(见下文)。只需检索“OrderPay”类的对象并将其作为响应实体的有效负载返回即可。这工作正常,因此该对象没问题。
另一个创建并保留“OrderPay”的新实例,然后返回该新创建的对象。新对象的创建及其持久化工作正常。但是,当我尝试返回时,我收到以下错误消息。
现在,如果错误消息持续出现,我就能理解了。但是,当使用第一个函数(“getPaymentByIdTest”)返回这个新创建的对象时,它返回它没有问题,即使我以完全相同的方式从数据库检索它并以相同的方式返回它,具有相同的返回类型方法的说明。
现在我知道在 HTTP-GET 方法中执行代码并不是最佳实践,但它更快、更方便测试。
谁能看到我需要在哪里调整代码?
2020-04-13 21:37:57.507 ERROR 26796 --- [nio-8081-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: com.brownbag_api.model.OrderPay["posSend"]->com.brownbag_api.model.Pos$HibernateProxy$7l7MDMEi["hibernateLazyInitializer"])] with root cause
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: com.brownbag_api.model.OrderPay["posSend"]->com.brownbag_api.model.Pos$HibernateProxy$7l7MDMEi["hibernateLazyInitializer"])
@CrossOrigin(origins = "*", maxAge = 3600)
@RestController
@RequestMapping("/api/pay")
public class PaymentController {
@Autowired
private OrderPayRepo orderPayRepo;
@Autowired
private OrderPaySvc orderPaySvc;
@GetMapping("/{id}")
public ResponseEntity<?> getPaymentByIdTest(@PathVariable Long id) {
Optional<OrderPay> orderPay = orderPayRepo.findById(id);
return ResponseEntity.ok(orderPay);
}
@GetMapping("/exec/from/{from}/to/{to}/amount/{amount}")
public ResponseEntity<?> execPayment(@PathVariable Long from, @PathVariable Long to, @PathVariable double amount) {
Pos posFrom = posRepo.getOne(from);
Pos posTo = posRepo.getOne(to);
OrderPay pay = orderPaySvc.createPay(amount, posFrom, posTo);
pay = orderPaySvc.execPay(pay);
if (pay == null) {
return ResponseEntity.ok("Payment could not be executed. Please see log for more details!");
} else {
System.err.println("Payment executed: " + pay.getPosRcv().getParty().getName());
Long payId = pay.getId();
System.err.println("Payment executed: " + payId);
// payId returns the expected value here, the object is therefore saved in the database (verified).
Optional<OrderPay> orderPay = orderPayRepo.findById(payId);
return ResponseEntity.ok(pay);
}
}
}
@Entity
@Table(name = "order_base")
@Inheritance(strategy = InheritanceType.JOINED)
public class Order implements Serializable {
private static final long serialVersionUID = -3458221490393509305L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
@NotNull
@Column(name = "QTY")
private double qty;
public Order() {
}
public Order(@NotNull double qty) {
super();
this.qty = qty;
}
}
@Entity
@Table(name = "order_pay")
public class OrderPay extends Order implements Serializable {
private static final long serialVersionUID = 4643589803146964779L;
@NotNull
@OneToOne(targetEntity = Pos.class)
@JoinColumn(name = "POS_SEND_ID")
private Pos posSend;
@NotNull
@OneToOne(targetEntity = Pos.class)
@JoinColumn(name = "POS_RCV_ID")
private Pos posRcv;
public OrderPay() {
super();
}
public OrderPay(@NotNull double qty, @NotNull Pos posSend, @NotNull Pos posRcv) {
super(qty);
this.posSend = posSend;
this.posRcv = posRcv;
}
}
@Entity
@Table(name = "POS")
public class Pos implements Serializable {
private static final long serialVersionUID = 1530699992135610397L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
@NotNull
@Column(name = "QTY")
private double qty;
@NotNull
@ManyToOne(targetEntity = Party.class)
@JoinColumn(name = "PARTY_ID")
@JsonBackReference
private Party party;
public Pos() {
}
public Pos(@NotNull double qty, @NotNull Party owner) {
super();
this.qty = qty;
this.party = owner;
}
}
{
"id":7,
"qty":33000.0,
"posSend":
{
"id":1,
"qty":-266010.0,
"hibernateLazyInitializer":{}
},
"posRcv":
{
"id":2,
"qty":66000.0,
"hibernateLazyInitializer":{}
}
}
最佳答案
如果您使用 Spring Boot,您可以在 application.properties 文件中设置以下属性。这应该根据您的堆栈跟踪解决问题(请参阅:“为了避免异常,禁用 SerializationFeature.FAIL_ON_EMPTY_BEANS”)
spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false
关于java - Spring Boot Jackson ResponseEntity 找不到类的序列化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61189480/
我是 python 的新手。我试图找到我的文本的频率分布。这是代码, import nltk nltk.download() import os os.getcwd() text_file=open(
我对安卓 fragment 感到困惑。我知道内存 fragment 但无法理解什么是 android fragment 问题。虽然我发现很多定义,比如 Android fragmentation re
尝试对 WordPress 进行 dockerise 我发现了这个场景: 2个数据卷容器,一个用于数据库(bbdd),另一个用于wordpress文件(wordpress): sudo docker
这个问题已经有答案了: From the server is there a way to know that my page is being loaded in an Iframe (1 个回答)
我正在玩小型服务器,试图对运行在其上的服务进行docker化。为简化起见,假设我必须主要处理:Wordpress和另一项服务。 在Docker集线器上有许多用于Wordpress的图像,但是它们似乎都
我想要发生的是,当帐户成功创建后,提交的表单应该消失,并且应该出现一条消息(取决于注册的状态)。 如果成功,他们应该会看到一个简单的“谢谢。请检查您的电子邮件。” 如果不是,那么他们应该会看到一条适当
就是这样,我需要为客户添加一个唯一标识符。通过 strip 元数据。这就是我现在完全构建它的方式,但是我只有最后一部分告诉我用户购买了哪个包。 我试着看这里: Plans to stripe 代码在这
我有一个类将执行一些复杂的操作,涉及像这样的一些计算: public class ComplexAction { public void someAction(String parameter
这个问题已经有答案了: maven add a local classes directory to module's classpath (1 个回答) 已关闭10 年前。 我有一些不应更改的旧 E
我使用 fragment 已经有一段时间了,但我经常遇到一个让我烦恼的问题。 fragment 有时会相互吸引。现在,我设法为此隔离了一个用例,它是这样的: Add fragment A(也使用 ad
我的 html 中有一个 ol 列表,上面有行条纹。看起来行条纹是从数字后面开始的。有没有办法让行条纹从数字开始? 我已经包含了正在发生的事情的片段 h4:nth-child(even) {
如何仅使用 css 将附加图像 html 化? 如果用纯 css 做不到,那我怎么能至少用一个图像来做 最佳答案 这不是真正的问题,而是您希望我们为您编写代码。我建议您搜索“css breadcrum
以下是 Joshua 的 Effective Java 的摘录: If you do synchronize your class internally, you can use various te
在这里工作时,我们有一个框向业务合作伙伴提供 XML 提要。对我们的提要的请求是通过指定查询字符串参数和值来定制的。其中一些参数是必需的,但很多不是。 例如,我们要求所有请求都指定一个 GUID 来标
我有 3 个缓冲区,其中包含在 32 位处理器上运行的 R、G、B 位数据。 我需要按以下方式组合三个字节: R[0] = 0b r1r2r3r4r5r6r7r8 G[0] = 0b g1g2g3g4
我最近发现了关于如何使用 History.js、jQuery 和 ScrollTo 通过 HTML5 History API 对网站进行 Ajax 化的要点:https://github.com/br
我们有一个 Spring Boot 应用程序,由于集成需要,它变得越来越复杂——比如在你这样做之后发送一封电子邮件,或者在你之后广播一条 jms 消息等等。在寻找一些更高级别的抽象时,我遇到了 apa
我正在尝试首次实施Google Pay。我面临如何指定gateway和gatewayMarchantId的挑战。 我所拥有的是google console帐户,不知道在哪里可以找到此信息。 priva
昨天下午 3 点左右,我为两个想要从一个 Azure 帐户转移到另一个帐户的网站设置了 awverify 记录。到当天结束时,Azure 仍然不允许我添加域,所以我赌了一把,将域和 www 子域重新指
我正在使用terms facet在elasticsearch服务器中获取顶级terms。现在,我的标签"indian-government"不被视为一个标签。将其视为"indian" "governm
我是一名优秀的程序员,十分优秀!