0
使用Jersey開發REST服務時,我發現實體圖註釋被忽略,我得到完整的對象。下面的代碼。Spring Rest - 實體圖註解忽略並完成實體
@Entity
@Table(name = "CONCERN")
@XmlRootElement
@EntityListeners(ConcernListener.class)
@NamedEntityGraph(name="concern.search", attributeNodes={
@NamedAttributeNode("referenceId"),
@NamedAttributeNode("name"),
@NamedAttributeNode("mobileNumber"),
@NamedAttributeNode("email"),
@NamedAttributeNode("concernDetail"),
@NamedAttributeNode(value = "concernType", subgraph = "concernType")},
subgraphs = @NamedSubgraph(name = "concernType", attributeNodes = {@NamedAttributeNode("descEn"),@NamedAttributeNode("descAr")})
)
public class Concern {
@Id
@Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "TXN_REPORT_CONCERN_SEQ")
@SequenceGenerator(name = "CONCERN_SEQ", sequenceName = "TXN_REPORT_CONCERN_SEQ", allocationSize = 0)
private Long id;
@Basic(optional = false)
@Size(min = 1, max = 30)
@Column(name = "REFERENCE_ID", nullable = false, length = 30)
private String referenceId;
.......
庫代碼
public interface ReportConcernRepository extends CrudRepository<Concern, Long> {
@EntityGraph(value = "concern.search", type = EntityGraphType.FETCH)
@Query("SELECT c FROM Concern c")
public List<Concern> readAll();
}
澤西REST服務
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("findAll")
public List<Concern> getAllConcerns(){
return reportConcernService.getAllConcerns();
}
輸出JSON
{"id":240,"referenceId":"671606","name":"TestM","mobileNumber":"777777","email":"1","concernDetail":"1","latlong":"100_100","address":"this is a test address","concertTypestr":null,"concernType":{"id":1,"descEn":"Concern Type","descAr":"Concern Type(AR)"},"statusType":{"id":1,"statusEn":"Open","statusAr":"Open (AR)"},"concernAttachment":{"id":240,"attachment":"/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAGIAdcDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKKKACi ......
如可以看到的整個實體已經被加載,而不是屬性。可能是什麼原因 ?