Add schema changes for compatibility with JDO implementation

This commit is contained in:
Martin Stockhammer 2016-11-19 23:26:08 +01:00
parent 7482c06fcd
commit e55262c8cc
7 changed files with 21 additions and 16 deletions

View File

@ -34,6 +34,7 @@
<property name="openjpa.jdbc.MappingDefaults" <property name="openjpa.jdbc.MappingDefaults"
value="ForeignKeyDeleteAction=restrict,JoinForeignKeyDeleteAction=restrict"/> value="ForeignKeyDeleteAction=restrict,JoinForeignKeyDeleteAction=restrict"/>
<property name="openjpa.Log" value="DefaultLevel=TRACE, Runtime=TRACE, Tool=INFO, SQL=TRACE"/> <property name="openjpa.Log" value="DefaultLevel=TRACE, Runtime=TRACE, Tool=INFO, SQL=TRACE"/>
<property name="openjpa.jdbc.DBDictionary" value="(disableSchemaFactoryColumnTypeErrors=true,BitTypeName=CHAR(1),BooleanTypeName=CHAR(1),BooleanRepresentation=STRING_YN)"/>
</properties> </properties>
</persistence-unit> </persistence-unit>
</persistence> </persistence>

View File

@ -40,7 +40,7 @@ public class JpaOperation implements Operation, Serializable {
@Column(name="DESCRIPTION") @Column(name="DESCRIPTION")
private String description; private String description;
@Column(name="PERMANENT", nullable = false) @Column(name="PERMANENT", nullable = false)
private boolean permanent; private Boolean permanent = false;
@Override @Override

View File

@ -40,7 +40,7 @@ public class JpaPermission implements Permission,Serializable {
@Column(name="DESCRIPTION") @Column(name="DESCRIPTION")
private String description; private String description;
@Column(name="PERMANENT", nullable = false) @Column(name="PERMANENT", nullable = false)
private boolean permanent; private Boolean permanent = false;
@ManyToOne(cascade = CascadeType.ALL) @ManyToOne(cascade = CascadeType.ALL)
@JoinColumn( @JoinColumn(
name="OPERATION_NAME_OID", name="OPERATION_NAME_OID",

View File

@ -37,10 +37,10 @@ public class JpaResource implements Resource, Serializable {
@Id @Id
@Column(name="IDENTIFIER") @Column(name="IDENTIFIER")
private String identifier; private String identifier;
@Column(name="PATTERN", nullable = false) @Column(name="PATTERN", nullable = false, columnDefinition = "CHAR(1)")
private boolean pattern; private Boolean pattern = false;
@Column(name="PERMANENT", nullable = false) @Column(name="PERMANENT", nullable = false, columnDefinition = "CHAR(1)")
private boolean permanent; private Boolean permanent = false;
@Override @Override

View File

@ -43,9 +43,9 @@ public class JpaRole extends AbstractRole implements Serializable {
@Column(name="DESCRIPTION") @Column(name="DESCRIPTION")
private String description; private String description;
@Column(name="ASSIGNABLE",nullable = false) @Column(name="ASSIGNABLE",nullable = false)
private boolean assignable; private Boolean assignable = false;
@Column(name="PERMANENT", nullable = false) @Column(name="PERMANENT", nullable = false)
private boolean permanent; private Boolean permanent = false;
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@OrderColumn(name="INTEGER_IDX", nullable = false) @OrderColumn(name="INTEGER_IDX", nullable = false)
@JoinTable( @JoinTable(

View File

@ -58,7 +58,7 @@ public class JpaUserAssignment extends AbstractUserAssignment implements UserAss
) )
private List<String> roleNames = new ArrayList<String>(); private List<String> roleNames = new ArrayList<String>();
@Column(name="PERMANENT", nullable = false) @Column(name="PERMANENT", nullable = false)
private boolean permanent = false; private Boolean permanent = false;
@Column(name="LAST_UPDATED") @Column(name="LAST_UPDATED")
private Date timestamp; private Date timestamp;

View File

@ -19,6 +19,9 @@
* under the License. * under the License.
*/ */
import org.apache.openjpa.persistence.ExternalValues;
import org.apache.openjpa.persistence.Type;
import javax.persistence.CollectionTable; import javax.persistence.CollectionTable;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.ElementCollection; import javax.persistence.ElementCollection;
@ -26,6 +29,7 @@
import javax.persistence.FetchType; import javax.persistence.FetchType;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.JoinColumn; import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OrderColumn; import javax.persistence.OrderColumn;
import javax.persistence.Table; import javax.persistence.Table;
import java.util.ArrayList; import java.util.ArrayList;
@ -52,26 +56,26 @@ public class JpaUser implements org.apache.archiva.redback.users.User {
private Date lastPasswordChange; private Date lastPasswordChange;
@ElementCollection(fetch = FetchType.EAGER) @ElementCollection(fetch = FetchType.EAGER)
@OrderColumn(name="INTEGER_IDX", nullable = false) @OrderColumn(name="INTEGER_IDX", nullable = false)
@Column(name="STRING_ELE") @Column(name="STRING_ELE", nullable = false)
@CollectionTable(name="JDOUSER_PREVIOUSENCODEDPASSWORDS", @CollectionTable(name="JDOUSER_PREVIOUSENCODEDPASSWORDS",
joinColumns = @JoinColumn(name = "USERNAME_OID", nullable = false, referencedColumnName = "USERNAME") joinColumns = @JoinColumn(name = "USERNAME_OID", nullable = false, referencedColumnName = "USERNAME")
) )
private List<String> previousEncodedPasswords = new ArrayList<String>(); private List<String> previousEncodedPasswords = new ArrayList<String>();
@Column(name="PERMANENT", nullable = false) @Column(name="PERMANENT", nullable = false)
private boolean permanent; private Boolean permanent = false;
@Column(name="LOCKED", nullable = false) @Column(name="LOCKED", nullable = false)
private boolean locked; private Boolean locked = false;
@Column(name="PASSWORD_CHANGE_REQUIRED", nullable = false) @Column(name="PASSWORD_CHANGE_REQUIRED", nullable = false)
private boolean passwordChangeRequired; private Boolean passwordChangeRequired = false;
@Column(name="VALIDATED", nullable = false) @Column(name="VALIDATED", nullable = false)
private boolean validated; private Boolean validated = false;
@Column(name="COUNT_FAILED_LOGIN_ATTEMPTS",nullable = false) @Column(name="COUNT_FAILED_LOGIN_ATTEMPTS",nullable = false)
private int countFailedLoginAttempts; private int countFailedLoginAttempts = 0;
@Column(name="ACCOUNT_CREATION_DATE") @Column(name="ACCOUNT_CREATION_DATE")
private Date accountCreationDate; private Date accountCreationDate;
@Column(name="LAST_LOGIN_DATE") @Column(name="LAST_LOGIN_DATE")
private Date lastLoginDate; private Date lastLoginDate;
@Column(name="USER_PASSSWORD") @Column(name="USER_PASSWORD")
private String rawPassword; private String rawPassword;