Не могу понять в чём проблема. OpenJpa выдаёт такую ошибку:
Caused by: java.lang.IllegalStateException: No registered metadata for type "class org.apache.fineract.portfolio.myfirstmodule.domain.MyFirstModule".
This can happen if this class has not been annotated as a persistent entity or specified in the persistence unit (ex: in the orm.xml).
at org.apache.openjpa.enhance.PCRegistry.getMeta(PCRegistry.java:252) ~[openjpa-all-2.4.1.jar:2.4.1]
at org.apache.openjpa.enhance.PCRegistry.newInstance(PCRegistry.java:110) ~[openjpa-all-2.4.1.jar:2.4.1]
at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1927) ~[openjpa-all-2.4.1.jar:2.4.1]
at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1808) ~[openjpa-all-2.4.1.jar:2.4.1]
at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:829) ~[openjpa-all-2.4.1.jar:2.4.1]
at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:726) ~[openjpa-all-2.4.1.jar:2.4.1]
at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:650) ~[openjpa-all-2.4.1.jar:2.4.1]
Вот domain файл MyFirstModule.java
:
package org.apache.fineract.portfolio.myfirstmodule.domain;
import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.sql.Timestamp;
@Entity
@Table(name = "my_first_module")
public class MyFirstModule extends AbstractPersistableCustom<Long> {
@Column(name = "my_test")
private String myTest;
@Column(name = "created_at")
private Timestamp createdAt;
public String getMyTest() {
return this.myTest;
}
public void setMyTest(String myTest) {
this.myTest = myTest;
}
public Timestamp getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Timestamp createdAt) {
this.createdAt = createdAt;
}
public MyFirstModule(final String myTest, Timestamp createdAt) {
this.myTest = myTest;
this.createdAt = createdAt;
}
public MyFirstModule() {
}
public MyFirstModule(final String myTest) {
this.myTest = myTest;
}
}
Абстрактный класс AbstractPersistableCustom.java
:
package org.apache.fineract.infrastructure.core.domain;
import java.io.Serializable;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import org.springframework.data.domain.Persistable;
@MappedSuperclass
public abstract class AbstractPersistableCustom<PK extends Serializable> implements Persistable<Long> {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/*
* (non-Javadoc)
*
* @see org.springframework.data.domain.Persistable#getId()
*/
@Override
public Long getId() {
return id;
}
/**
* Sets the id of the entity.
*
* @param id the id to set
*/
protected void setId(final Long id) {
this.id = id;
}
/*
* (non-Javadoc)
*
* @see org.springframework.data.domain.Persistable#isNew()
*/
@Override
public boolean isNew() {
return null == this.id;
}
//We have removed toString(), hashCode() and equals() methods. By adding them end up issues with OpenJPA
}
База:
CREATE TABLE `my_first_module` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`my_test` VARCHAR(50) NULL DEFAULT NULL,
`created_at` DATETIME NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
Как по мне, всё это должно было работать, но в чём дело не могу понять.
Решил, надо было запустить gradle openjpaEnhance
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Адаптирую сайт под мобильные телефоны, столкнулся с такой проблемой что navbar который идет в примерах bootstrap невероятно малПриходиться на телефоне...
Я пытаюсь сделать так, чтобы текст был слева и имел позицию float left, а ссылки принимали значения float right, но ссылки не принимают этого значенияЯ...