Tôi khá chắc chắn rằng tôi đã sử dụng một số loại phát hiện tự động các bean được chú thích với @Entity trong JPA 2.0 trong quá khứ nhưng tôi không thể tìm ra cách. Làm thế nào để bạn làm điều đó thay vì liệt kê mỗi bean trong một phần tử XML class
trong persistence.xml?Làm thế nào để tự động phát hiện các thực thể trong JPA 2.0
Trả lời
Kể từ mùa xuân 3.1, bạn cũng có tùy chọn để forget persistence.xml hoàn toàn, và cấu hình EntityManagerFactory
của bạn bằng cách sử dụng packagesToScan
bất động sản, tương tự như sau:
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
p:dataSource-ref="dataSource"
p:packagesToScan="${jpa.entity.packages}">
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"
p:showSql="${hibernate.show_sql}"/>
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
<prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
</props>
</property>
</bean>
Bạn cần thêm vào persistence.xml
dòng tiếp theo:
<exclude-unlisted-classes>false</exclude-unlisted-classes>
ví dụ
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" ...>
<persistence-unit name="YourPU" ...>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="eclipselink.logging.level" value="ALL"/>
<property name="eclipselink.ddl-generation"
value="drop-and-create-tables"/>
</properties>
</persistence-unit>
</persistence>
Câu trả lời này phải được chấp nhận. –
Xem Pascal Thivent trả lời ở đây: Do I need <class> elements in persistence.xml?
bạn có cách khác nhau để làm điều đó, nhưng JPA chính nó không hỗ trợ tự động quét. Cách đơn giản và sạch nhất để tham chiếu các thực thể của bạn IMHO là đóng gói mô hình của bạn trong một cái bình và tham chiếu nó với <jar-file>MyModel.jar</jar-file>
- 1. JPA thực thể loại bỏ hoạt động không thực hiện
- 2. Tôi làm cách nào để tự động phát hiện proxy?
- 3. Làm cách nào để phát hiện các ký tự không thể in trong .NET?
- 4. Cài đặt được tạoBởi và cập nhậtBởi trong các thực thể JPA tự động
- 5. Làm thế nào để thực hiện tuần tự trong C++
- 6. Làm cách nào để tự động tạo tên cột dưới dạng chuỗi cuối cùng tĩnh trong metamodel JPA 2.0?
- 7. Cách thực hiện các thực thể JPA đa hình với các quan hệ chung
- 8. Làm cách nào để git phát hiện các tệp tương tự, để phát hiện đổi tên?
- 9. Làm thế nào để tải tệp Hibernate 'xxx.hbm.cfg' trong dự án JPA 2.0?
- 10. Làm thế nào để thực hiện phương thức equals() và hashcode() trong BaseEntity của JPA?
- 11. Làm thế nào để thực hiện phương thức update() trong DAO bằng EntityManager (JPA)?
- 12. Làm cách nào để thực hiện kiểm tra đơn vị tự động trong các gói SSIS?
- 13. Tự động phát hiện HTML5 trong vim
- 14. Thực hiện Tự động điền trong iOS
- 15. phát hiện tràn tự động trong C++?
- 16. JPA, Làm thế nào để sử dụng cùng một lớp (thực thể) để ánh xạ các bảng khác nhau?
- 17. Làm thế nào để phát hiện hệ điều hành trong một tập tin thực hiện?
- 18. Làm thế nào để thực hiện pluralize & phần mở rộng khác sử dụng play framework 2.0
- 19. Làm thế nào để thực hiện một bảng thời gian bằng cách sử dụng JPA?
- 20. Làm thế nào để tự động đăng ký tổ chức với JPA/Hibernate: Unknown tổ chức
- 21. CodeMirror - ngôn ngữ tự động phát hiện
- 22. Tự động phát hiện mã hóa ký tự trong Java
- 23. Làm thế nào để phát hành một hàng bị khóa bằng cách sử dụng JPA?
- 24. Làm cách nào để có thể ứng dụng trên các phiên bản ElastiCache tự động phát hiện EC2?
- 25. JPA và DAO thực hiện hoạt động xóa
- 26. Không tự động kiểm tra thực thể JPA trong maven-verify
- 27. làm thế nào để thực hiện onRetainNonConfigurationInstance
- 28. Làm cách nào để tắt tính năng phát hiện proxy tự động trong đối tượng `AmazonS3`?
- 29. Làm thế nào để thực hiện onclick tự động thông qua chức năng onload
- 30. Làm thế nào để tự động thay thế một phương thức triển khai thực hiện trong ObjC2?
Tôi biết điều đó, nhưng tôi hỏi về JPA persistence.xml – LuckyLuke
Tôi biết, chỉ muốn đề cập đến tùy chọn này, bởi vì đó là một cách hay để giải quyết vấn đề ở bàn tay (các lớp thực thể tự động phát hiện). – zagyi