我正在使用Spring Data JPA和Hibernate作为提供者。我创建了几个Repository类,这些类都扩展了JPARepository<Entity,Serializable>
类。我在获取一个实体时遇到了问题,它会带着连接的实体一起返回!这些实体通过@OneToOne
@OneToMany
等方式连接。 我该如何避免获取这些连接的实体?
我已经尝试过@OneToMany(fetch=FetchType.LAZY)
等方法,但还是失败了。以下是我的Java代码:
Repository
public interface TicketRepository extends JpaRepository<Ticket, Integer>{
}
工单实体
@Entity
@Table(name = "tbl_tickets")
public class Ticket {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Integer id;
@Column(name = "customer", nullable = false, length = 256)
private String customer;
@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
@JoinColumn
private User creator;
// ... other properties
}
服务
@Service
public class TicketService {
public Ticket save(Ticket obj,String id) {
User user = userService.findById(Integer.valueOf(id));
obj.setCreator(user);
Ticket savedTicket = ticketRepository.save(obj);
}
}
savedTicket
总是获取用户实体,而我不希望这样。我该如何实现?
谢谢