diff --git a/src/main/java/club/ttg/dnd5/domain/book/model/Source.java b/src/main/java/club/ttg/dnd5/domain/book/model/Source.java index dfdd0566..e82cf35e 100644 --- a/src/main/java/club/ttg/dnd5/domain/book/model/Source.java +++ b/src/main/java/club/ttg/dnd5/domain/book/model/Source.java @@ -15,11 +15,13 @@ ) public class Source extends Timestamped { @Id - @GeneratedValue(strategy = GenerationType.AUTO) + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sources_id_seq") + @SequenceGenerator(name = "sources_id_seq", sequenceName = "sources_id_seq", allocationSize = 1) private Long id; + private int page; - @ManyToOne(fetch = FetchType.LAZY) + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "book_info_id", referencedColumnName = "sourceAcronym") private Book bookInfo; //null -> userId made book by userId private String userId; diff --git a/src/main/java/club/ttg/dnd5/domain/species/model/CreatureProperties.java b/src/main/java/club/ttg/dnd5/domain/species/model/CreatureProperties.java index 6353b130..dbbefd87 100644 --- a/src/main/java/club/ttg/dnd5/domain/species/model/CreatureProperties.java +++ b/src/main/java/club/ttg/dnd5/domain/species/model/CreatureProperties.java @@ -13,11 +13,14 @@ @Setter @MappedSuperclass public abstract class CreatureProperties extends NamedEntity { - /** Тип существа */ @Enumerated(EnumType.STRING) private BeastType type; + /** Размеры */ + @Embedded + private SpeciesSize size; + /** Скорость пешком */ @Column(columnDefinition = "int default 30") private int speed = 30; diff --git a/src/main/java/club/ttg/dnd5/domain/species/model/Species.java b/src/main/java/club/ttg/dnd5/domain/species/model/Species.java index c2cc9714..d20e58b1 100644 --- a/src/main/java/club/ttg/dnd5/domain/species/model/Species.java +++ b/src/main/java/club/ttg/dnd5/domain/species/model/Species.java @@ -26,9 +26,6 @@ } ) public class Species extends CreatureProperties implements HasSourceEntity { - /** Размеры */ - @Embedded - private SpeciesSize size; /** Умения */ @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) diff --git a/src/main/java/club/ttg/dnd5/domain/species/rest/mapper/SpeciesMapper.java b/src/main/java/club/ttg/dnd5/domain/species/rest/mapper/SpeciesMapper.java index 2949887f..e310b704 100644 --- a/src/main/java/club/ttg/dnd5/domain/species/rest/mapper/SpeciesMapper.java +++ b/src/main/java/club/ttg/dnd5/domain/species/rest/mapper/SpeciesMapper.java @@ -40,6 +40,7 @@ public interface SpeciesMapper { @Mapping(source = "properties.movementAttributes.fly", target = "fly") @Mapping(source = "properties.movementAttributes.climb", target = "climb") @Mapping(source = "properties.movementAttributes.swim", target = "swim") + @Mapping(source = "properties.darkVision", target = "darkVision") @Mapping(source = "name.alternative", target = "alternative", qualifiedByName = "collectToString") Species toEntity(SpeciesRequest request);