Java programozás - Szoftverfejlesztés fórum

üzenetek

hozzászólások


hoopy
(újonc)

Erre gondoltam, de akkor így megtaláltad két lépésben.


lanszelot
(addikt)

Most vettem észre hogy az java és nem java script. Nem láttam szemüveg nélkül. Bocsánat :B

[ Szerkesztve ]


Aethelstone
(addikt)

Teljesen antipattern. Engedd el.


Ablakos
(őstag)

Mi a különbség két referencia között new ArrayList vagy anélkül?
Human jenny = new Human(18, "Jenny");
Human jeff = new Human(17, "Jeff");
Human jill = new Human(21, "Jill");
List<Human> people = new ArrayList<>(Arrays.asList(jenny, jeff, jill));


gygabor88
(tag)
Blog

A new ArrayList nélkül olyan listát kapnál, aminek nem módosítható a mérete.


Ablakos
(őstag)

Köszi.


Ablakos
(őstag)

Sehogy nem bírom a map első generikus típust stringre kényszeríteni. Mindenképpen az Object-et erőlteti. Object típussal működik, de nem értem a pontos megoldást.

Stream<String> input = Files.lines(Paths.get("words.txt"));

Map<String, List<String>> a = // csak Objectként fordul le String helyett
        input.map(line -> line.split(" "))
                    .flatMap(array -> Arrays.stream(array))
                    .collect(Collectors.groupingBy(d -> d.charAt(0)));

/* .forEach((c, dl) -> {
System.out.print("first character: " + c + " =>");
dl.forEach(d -> System.out.print(d+ ", "));
//System.out.println();
});
*/

[ Szerkesztve ]


Ablakos
(őstag)

Elnézést, tárgytalan.
Csak egy üres stringet kell hozzá toldani a charAt+hez. Ezt nagyon elnéztem. :B


Taoharcos
(aktív tag)
Blog

Sziasztok!
Karakter kódolási problémával kapcsolatban kérdeznék.
Java 17 és Spring 3.2 verziókat használok.
Egy Spring Boot-os alkalmazás fejlesztése Windows alatt történik. Egy .csv file-t készít amit le lehet tölteni. Windows helyesen jelenek meg a magyar karakterek. Viszont ha feltelepítem egy hardenelt Ubuntura, akkor a magyar karakterek helytelenül jelennek meg. Elvileg minden már csak UTF8-at használ, de nincs elképzelésem sem, hogy mi lehet a probléma.


Taoharcos
(aktív tag)
Blog

Elnézést, pontatlan voltam, a Windows ISO-8859-2-t használ.
Szóval az lenne a kérdésem, hogy lehetne Java 17 alatt ISO-8859-2-es karakter készletet használni?

[ Szerkesztve ]


Szmeby
(tag)

Attól függ, milyen eszközzel olvasod fel a fájlt.

Akárhogy is, a fájlban a szöveg byte-ok halmaza, azt valamilyen karakterkészletre kell alakítani felolvasáskor. Akár bytearrayt, akár inputsreamet, akár valamilyen fancy toolt használsz, ami ezekre épül, mindegyikben kell legyen (az értelmesekben legalábbis) olyan opció, ahol megadhatod a charsetet is. Vegyük például a Files::lines metódust ő is vár egy charsetet, megadhatja az, akinek erre van igénye.

A nio StandardCharsets osztályában megtalálod a gyakran használt charseteket, bár mondjuk a latin2 szerintem nincs köztük, de a nio ismeri azt is. Legrosszabb esetben stringként megadod a Charset::forName factory metódusnak és máris van egy charseted, amit használhatsz az olvasásnál. Csak jól írd be a nevét.

Egyébként, ha lehetőséged van rá, inkább pl. UTF8-ban generáld ki azt a csv-t, az sokkal univerzálisabb.


bucc
(csendes tag)

sziasztok
PTI-s hallgató vagyok és nagyon nem megy a java, külön óra céljából keresnék prog ban jártas fórumtársat.


lanszelot
(addikt)

Hello,
[link]
Ha letekerem a zöld box-ban lévő szöveget, hogyan tudok a tetejére vissza ugrani, ha egy sima szövegre klikkelek.
Nem "a" tag, és nem gomb.


lanszelot
(addikt)

Bocsánat, véletlen írtam ide, nem volt rajtam a szemüveg :B
Már nem tudtam törölni


Tothg86
(tag)
Blog

Sziasztok

Tudtok esetleg egy jó tutorialt Hibernate-hez? Amiket eddig találtam, egyikből sem jutottam közelebb a témához.

Köszönöm!


floatr
(veterán)
Blog

Biztosan vannak jobb források, de sok év után is általában a Baeldung-on kötök ki, ha valamire nem emlékszem. Itt van egy Spring Data JPA guide lista, sima hibernate-et kezdésnek nem annyira ajánlanám. Érdemes a cikkek alján lévő githubos példákat is végignézni.


Tothg86
(tag)
Blog

Köszi!
Egy konkrét kérdésem is lenne.
Van egy munkahelyi tábla, amiben nincsen auto increment ID, nincs semmilyen primary key sem. Szembesültem azzal (ha jól értem), hogy a hibernate megköveteli az egyértelmű azonosítást. Mivel nincs a táblában ID, ezért egy darab azonosítót nem tudok hozzárendelni. Olvastam, hogy van lehetőség összetett kulcs hozzárendélésére az EmbeddedID annotation-nel.
Jól értem? Egy netes példában az volt, hogy egy külön osztályt hozok létre a kulcsnak, és itt jelölöm, hogy @Embeddable. De ez már beleszámít a mappingbe?


floatr
(veterán)
Blog

Ebben a cikkben leírnak két lehetőséget, de én is használok több munkahelyi projekten összetett kulcsot. Az EmbeddedId-t javaslom, de pár dolgot nem árt észben tartani.
Az ID-t így te adod meg, nem a hibernate generálja. Emiatt egy új rekord mentésénél (save/saveOrUpdate) a hibernate egy selectet fog kiadni, hogy leellenőrizze, van-e már azzal a kulccsal adat a DB-ben. Ezt ki lehet kerülni mondjuk egy EntityManager.persist(...) hívással egy custom repo implementációban, ha te tudod garantálni a PK egyediségét. Ha sok adatot importálsz, problémát tud okozni.
Az ilyen táblák általában kapcsoló/kapcsolatleíró táblák, és az összetett kulcs elemei külső kulcsok (FK), amik más táblákra mutatnak. Ilyenkor a hibernate csak trükközve tudja leírni a relációt másodlagos mappeléssel, vagy a kulcsban mappelt relációval, bár nem mindig van szükség arra, hogy össze tudj kapcsolni kódban is két objektumot.

[ Szerkesztve ]


Tothg86
(tag)
Blog

Köszönöm szépen!
Az az egy nem világos most, hogy egyelőre egy tök szimpla lekérdezéshez, a példában szereplő két mezőt (account number és account type) ugyanúgy kell mappelnem az account osztályban, hogy melyik oszlopban van az adatbázisban? Én úgy szoktam, hogy nem bizom a hibernatere, hanem mindig megadom melyik adatbázis oszlophoz mappelje.


floatr
(veterán)
Blog

Valahogy így:

@Embeddable
public class AccountId {
    private String accountNumber;
    private String accountType;
    ...
}

@Entity
public class Account {
    @EmbeddedId
    @AttributeOverrides({
        @AttributeOverride(name="accountNumber", column=@Column(name="account_number")),
        @AttributeOverride(name="accountType", column=@Column(name="account_type"))
    })
    private AccountId id;
    ...
}

az @AttributeOverrides szekciót azért tettem bele, mert ezzel pontosan el tudod nevezni a DB mezőket. A hibernatenek van olyan NamingStrategy-je (jpa/component-path), hogy hajlamos elécsapni a generált neveknek prefixként azt, hogy "id_"

[ Szerkesztve ]


Tothg86
(tag)
Blog

Sikerült, nagyon köszönöm! :R


btraven
(őstag)

java.awt.Color.ORANGE
public static final Color ORANGE
The color orange. In the default sRGB space.

MS Paint-ban milyen pixel-t kell ehhez csinálnom, hogy egyezzen?
ARGB 255,255,200,0 pixel egyezik
de miért? ezt sehol nem találom specifikálva?
vagy ki kell debuggolni minden egyes színt?

vagy más környezetben más az értéke?
bizonyos környezetben a narancs gyümölccsel egyenlő a default zöldséges standján a piacon? :)


gygabor88
(tag)
Blog

Megnézed a jdk forrásában, hogyan van definiálva és látszani fog, hogy (r, g, b, a) = (255, 200, 0, 255) értékeket használnak.


btraven
(őstag)

Köszi :R
Már túlzásba viszem az internetes keresgélést. Ahelyett hogy a speckót olvasnám.

üzenetek