Не удалось инициализировать прокси – нет весенней загрузки сеанса и javafxJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Не удалось инициализировать прокси – нет весенней загрузки сеанса и javafx

Сообщение Anonymous »

Я использую Spring Boot и Javafx.

Вчера я нашел это https://github.com/thomasdarimont/sprin ... ter/spring -boot-javafx и добавьте только Spring JPA в мой pom.xml и конфигурацию в application.properties.

POM

Код: Выделить всё


org.springframework.boot
spring-boot-starter


org.springframework.boot
spring-boot-starter-test
test


org.springframework.boot
spring-boot-starter-jdbc


org.springframework.boot
spring-boot-starter-data-jpa


mysql
mysql-connector-java
5.1.18


< /code>

application.properties

app.ui.title=Spring Boot Java FX Hello World
spring.datasource.url = jdbc:mysql://mysql0.xxx/3450_ps15\?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username = xxx
spring.datasource.password = xxx
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.testOnBorrow=true
spring.datasource.validationQuery=SELECT 1
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=none
Я потратил много часов, пытаясь исправить эту ошибку. Для всех объектов я должен использовать FetchType.EAGER, иначе я получаю эту ошибку. У меня есть 3600 записей, взятие из БД занимает много часов в EAGER. Я пытался добавить @Transactional(readOnly=true) в реализацию сервиса и репозиторий. Это мой код, может я что-то забыл.
Сервис

Код: Выделить всё

public interface ProductService {
Page
 findAll(Pageable pageable);
List findAll();
Long getCount();
}
Репозиторий

Код: Выделить всё

@Transactional
public interface ProductRepository extends Repository
{
@Transactional
@Query("Select p from ProductPS p inner join p.productlang lang where lang.lang.id=1")
Page findAll(Pageable pageable);
@Query("Select p from ProductPS p inner join p.productlang lang where lang.lang.id=1")
List findAll();
Long count();
}
< /code>

Реализация службы < /p>

@Component
@Transactional(readOnly=true)
@Service
public class ProductServiceImp implements ProductService{
@Autowired
private ProductRepository productrepository;
@Autowired
public ProductServiceImp(ProductRepository productrepository) {
this.productrepository = productrepository;
}

@Override
@Transactional(readOnly=true)
public Page findAll(Pageable pageable) {
if (!TransactionSynchronizationManager.isActualTransactionActive()) {
throw new IllegalStateException("No active transaction!!!!");
}
return productrepository.findAll(pageable);
}
@Override
@Transactional(readOnly=true)
public List findAll() {
// TODO Auto-generated method stub
return productrepository.findAll();
}
@Override
@Transactional
public Long getCount() {
// TODO Auto-generated method stub
return productrepository.count();
}

}
< /code>

и объект < /p>

private static final long serialVersionUID = -1804619891680745433L;
@Id
@GeneratedValue
@Column(name="id_product")
private Long id;
@Column(name="id_category_default")
private int idCategoryDefault;
private float price;
private String reference;
@OneToMany(mappedBy = "product")
private List stock;
@OneToMany(fetch = FetchType.LAZY,mappedBy = "produkt")
private List productlang;
< /code>

Я использую hibernate.enable_lazy_load_no_trans < /code>, но это займет только некоторые записи, и когда я прокручиваю в TableView следующее, но это нужно много времени. Я добавил < /p>

@EnableTransactionManagement
< /code>

в конфигурации и транзакции работает, но это не я. Это ошибка или я что -то скучаю? Можно ли установить сеанс вручную в данных Spring?
, если некоторые, скажем, используйте страницу, я попробовал < /p>

private Node createPage(int pageIndex) {

int fromIndex = pageIndex * 50;
int toIndex = (int) Math.min(fromIndex + 50, productService.getCount());
Pageable topTen = new PageRequest(fromIndex, toIndex);
table.setItems(FXCollections.observableArrayList(productService.findAll(topTen).getContent()));

return table;
}
на следующей странице записи не возвращаются. Это возврат только от 0 до n.


Подробнее здесь: https://stackoverflow.com/questions/296 ... and-javafx
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»