Java Data Objects. Store Objects with Ease

- Autorzy:
- David Jordan, Craig Russell
- Promocja Przejdź


- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 382
- Dostępne formaty:
-
ePubMobi
Opis książki: Java Data Objects. Store Objects with Ease
Java Data Objects revolutionizes the way Java developers interact with databases and other datastores. JDO allows you to store and retrieve objects in a way that's natural to Java programmers. Instead of working with JDBC or EJB's container-managed persistence, you work directly with your Java objects. You don't have to copy data to and from database tables or issue SELECTs to perform queries: your JDO implementation takes care of persistence behind-the-scenes, and you make queries based on the fields of your Java objects, using normal Java syntax.
The result is software that is truly object-oriented: not code that is partially object-oriented, with a large database-shaped lump on the back end. JDO lets you save plain, ordinary Java objects, and does not force you to use different data models and types for dealing with storage. As a result, your code becomes easier to maintain, easier to re-use, and easier to test. And you're not tied to a specific database vendor: your JDO code is entirely database-independent. You don't even need to know whether the datastore is a relational database, an object database, or just a set of files.
This book, written by the JDO Specification Lead and one of the key contributors to the JDO Specification, is the definitive work on the JDO API. It gives you a thorough introduction to JDO, starting with a simple application that demonstrates many of JDO's capabilities. It shows you how to make classes persistent, how JDO maps persistent classes to the database, how to configure JDO at runtime, how to perform transactions, and how to make queries. More advanced chapters cover optional features such as nontransactional access and optimistic transactions. The book concludes by discussing the use of JDO in web applications and J2EE environments.
Whether you only want to read up on an interesting new technology, or are seriously considering an alternative to JDBC or EJB CMP, you'll find that this book is essential. It provides by far the most authoritative and complete coverage available.
Wybrane bestsellery
-
Ta książka jest kolejnym, zaktualizowanym i uzupełnionym wydaniem kultowego podręcznika dla profesjonalnych programistów Javy. To pierwszy tom, w którym opisano podstawy języka i najważniejsze zagadnienia związane z programowaniem interfejsu użytkownika, a także kolekcje, wyrażenia lambda, techni...(0,00 zł najniższa cena z 30 dni)
77.40 zł
129.00 zł(-40%) -
Język Java jest konsekwentnie udoskonalany i unowocześniany dzięki zaangażowaniu wielu ludzi. Nowoczesny język Java staje się coraz bardziej wieloparadygmatowy, co oznacza, że stosowanie najlepszych praktyk w coraz większym stopniu determinuje jakość kodu. Obecnie napisanie kodu, który prawidłowo...(0,00 zł najniższa cena z 30 dni)
59.40 zł
99.00 zł(-40%) -
Ta książka jest ósmym wydaniem znakomitego podręcznika programowania dla początkujących, starannie zaktualizowanym i uzupełnionym o informacje dotyczące edycji 11. Zawiera podstawową wiedzę o kompilacji i uruchamianiu programu w Javie oraz o słowach kluczowych i istotnych konstrukcjach w tym języ...(0,00 zł najniższa cena z 30 dni)
59.40 zł
99.00 zł(-40%) -
To dwunaste, rozszerzone wydanie znakomitego podręcznika do nauki Javy, w pełni przejrzane, poprawione i zaktualizowane (uwzględnia nowości wprowadzone w Javie SE 9, 10 i 11). Ułatwia zdobycie solidnych podstaw języka i płynne przejście do tworzenia programów służących do rozwiązywania konkretnyc...
Wprowadzenie do Javy. Programowanie i struktury danych. Wydanie XII Wprowadzenie do Javy. Programowanie i struktury danych. Wydanie XII
(0,00 zł najniższa cena z 30 dni)59.90 zł
199.00 zł(-70%) -
To kolejne, uzupełnione i zaktualizowane wydanie przewodnika po frameworku Spring. Książka jest napisana w zwięzłym, przejrzystym i jasnym stylu, dzięki czemu szybko zrozumiesz zasady pracy ze Springiem i zbudujesz nowoczesną aplikację internetową współpracującą z bazą danych. Pokazano tu technik...(0,00 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł(-40%) -
Ta książka jest jedenastym wydaniem wyczerpującego kompendium programisty Javy, w pełni zaktualizowanym, uzupełnionym o nowości wprowadzone w Java SE 11. Opisuje język kompleksowo: jego składnię, słowa kluczowe oraz najistotniejsze zasady programowania. Zawiera także informacje o najważniejszych ...(0,00 zł najniższa cena z 30 dni)
119.40 zł
199.00 zł(-40%) -
Matematyka nie jest ulubioną dziedziną wiedzy większości ludzi, a społeczność informatyczna nie stanowi tu wyjątku. Funkcje matematyczne, obliczenia statystyczne, działania na macierzach — każda z tych czynności może wywołać popłoch nawet wśród najbardziej doświadczonych programistów, z wie...(0,00 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł(-40%) -
Oto kolejne, przejrzane, zaktualizowane i uzupełnione wydanie znakomitego podręcznika dla zawodowych programistów Javy. Znalazł się tu dokładny opis sposobów tworzenia interfejsu użytkownika, stosowania rozwiązań korporacyjnych, sieciowych i zabezpieczeń, a także nowości wprowadzonych w JDK 11. P...(0,00 zł najniższa cena z 30 dni)
89.40 zł
149.00 zł(-40%) -
Algorytm jest pojęciem ściśle związanym z programowaniem. Jak podaje definicja, algorytm to skończony ciąg jasno zdefiniowanych czynności koniecznych do wykonania pewnego rodzaju zadań. W efekcie ich wykonania następuje rozwiązanie postawionego problemu. Brzmi informatycznie? Oczywiście - wszak a...
Algorytmy i struktury danych. Kurs video. Java, JavaScript, Python Algorytmy i struktury danych. Kurs video. Java, JavaScript, Python
(0,00 zł najniższa cena z 30 dni)44.50 zł
89.00 zł(-50%) -
W tej książce opisano wiele funkcjonalności, narzędzi i procedur, dzięki którym można poprawić efektywność kodu napisanego w Javie 8 i 11 LTS. Główny nacisk położono na zagadnienia istotne dla środowisk produkcyjnych, ale przedstawiono również ciekawe nowe technologie, takie jak kompilacja z wypr...
Wydajność Javy. Szczegółowe porady dotyczące programowania i strojenia aplikacji w Javie. Wydanie II Wydajność Javy. Szczegółowe porady dotyczące programowania i strojenia aplikacji w Javie. Wydanie II
(0,00 zł najniższa cena z 30 dni)47.40 zł
79.00 zł(-40%)
O autorze książki
1 David Jordan, Craig RussellCraig Russell - jest cenionym, wielokrotnie nagradzanym szkockim pisarzem, którego książki przetłumaczono na dwadzieścia pięć języków. Jest autorem m.in. popularnej serii thrillerów z Fabelem oraz powieści noir z Lennoxem. W 2015 r. zdobył nagrodę McIlvanney, w 2008 - nagrodę Crime Writers Association Dagger in the Library. W przeszłości był policjantem, mieszka z żoną w Perthshire w Szkocji.
Ebooka przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video zobaczysz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP4 (pliki spakowane w ZIP)
Szczegóły książki
- ISBN Ebooka:
- 978-14-919-4639-8, 9781491946398
- Data wydania ebooka:
-
2003-04-22
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@helion.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 1.7MB
- Rozmiar pliku Mobi:
- 1.7MB
- Kategorie:
Programowanie » Java - Programowanie
Spis treści książki
- Java Data Objects
- Dedication
- A Note Regarding Supplemental Files
- Foreword
- Preface
- Who Should Read This Book?
- Organization
- Software and Versions
- Using Code Examples
- Conventions
- Comments and Questions
- Acknowledgments
- 1. An Initial Tour
- Defining a Persistent Object Model
- The Classes to Persist
- Declaring Classes to Be Persistent
- Defining a Persistent Object Model
- Project Build Environment
- Jars Needed to Use the JDO Reference Implementation
- Project Directory Structure
- Enhancing Classes for Persistence
- Establish a Datastore Connection and Transaction
- Acquiring a PersistenceManager
- Creating a FOStore Datastore
- Operations on Instances
- Making Instances Persistent
- Accessing Instances
- Iterating an extent
- Navigating the object model
- Executing a query
- Modifying an Instance
- Deleting Instances
- Summary
- 2. An Overview of JDO Interfaces
- The javax.jdo Package
- JDO Exception Classes
- The javax.jdo Package
- The javax.jdo.spi Package
- Optional Features
- Identity Options
- Optional Collections
- Transaction-Related Optional Features
- 3. JDO Architectures
- Architecture Within Application JVM
- Single PersistenceManager
- Multiple PersistenceManagers Accessing the Same Datastore
- Multiple PersistenceManagers Accessing Different Datastores
- Shared Implementation Cache
- Shared implementation cache within a single JVM
- Shared implementation cache distributed among JVMs
- Architecture Within Application JVM
- Datastore Access
- Direct Access of Filesystem or Local Datastore
- Remote Access of a JDO Server
- Remote Access of a SQL Datastore
- System Architectures with a JDO Application
- JDO Rich Client with Local Datastore
- JDO Applications in a Web Server
- JDO Applications as Web Services
- Rich Client Connecting to Application Server with EJB Components
- Web Server with EJB Server
- EJB Session Beans Using Session Bean Façades
- JDO Providing Container-Managed Persistence
- 4. Defining Persistent Classes
- Kinds of Classes and Instances
- Kinds of Classes
- Kinds of Instances
- Kinds of Classes and Instances
- Java Classes and Metadata
- JDO Metadata
- Metadata filenames
- jdo, package, and class metadata elements
- Vendor extensions
- Nesting of metadata elements
- JDO Metadata
- Inheritance
- The Media Mania Object Model
- Fields
- Supported Types
- Collections
- Arrays
- Supported Types
- Persistence of Fields
- Controlling field persistence with metadata
- Inherited fields
- Complete Metadata for the Media Mania Model
- 5. Datastore Mappings
- Mapping Approaches
- Relational Modeling Constructs
- SQL 99
- Modeling Constructs in Java and Relational Models
- Mapping Classes to Tables
- Mapping a Single-Valued Field to a Column
- Name-Mapping
- Type-Mapping
- Indexes
- Identity
- Inheritance
- References
- Collections and Relationships
- Using a Foreign Key
- Isomorphic mapping
- Defining a collection
- Defining a collection and a reference
- Managed relationships
- Using a Foreign Key
- Using a Join Table
- One-to-One Relationships
- Representing Lists and Maps
- 6. Class Enhancement
- Enhancement Approaches
- Reference Enhancer
- Vendor-Specific Enhancement
- Enhancement Approaches
- Binary Compatibility
- Enhancement Effects on Your Code
- Changes Made by the Enhancer
- Metadata
- Class metadata
- Field metadata
- Class registration
- Metadata
- Instance-Level Data
- Field Mediation
- Generated accessors and mutators
- Management of field values
- 7. Establishing a JDO Runtime Environment
- Configuring a PersistenceManagerFactory
- Connection Properties
- Optional Feature Properties
- Flags
- Flags Settings in Multiple Interfaces
- Determining the Optional Features and Default Flag Settings
- Vendor-Specific Properties
- Nonconfigurable Properties
- Configuring a PersistenceManagerFactory
- Acquiring a PersistenceManager
- User Object
- Closing a PersistenceManager
- Closing a PersistenceManagerFactory
- Transactions
- Properties of Transactions
- Transactions and Locking in the Datastore
- Transaction-isolation levels
- Locking in the datastore
- Types of Transactions in JDO
- Acquiring a Transaction
- Setting the Transaction Type
- Transaction Demarcation
- Notification of transaction completion
- Commit processing
- Rollback processing
- Restoring Values on Rollback
- Determining Whether a Transaction Is Active
- Multiple PersistenceManagers
- Multithreading
- 8. Instance Management
- Persistence of Instances
- Explicit Persistence
- Persistence-by-Reachability
- Persistence of Instances
- Extent Access
- Accessing an Extent
- Extent Iteration
- Ignoring the Cache
- Accessing and Updating Instances
- Explicit Marking of Modified Instances
- Deleting Instances
- Delete Propagation
- 9. The JDO Query Language
- Query Components
- Creating and Initializing a Query
- Changes in the Cache
- Query Namespaces
- Type Names
- Field, Parameter, and Variable Names
- Keywords
- Literals
- Query Execution
- Parameter Declarations
- Executing a Query
- Compiling a Query
- The Query Filter
- General Characteristics of Expressions
- Query Operators
- Equality and inequality operators
- Comparison operators
- Boolean operators
- Arithmetic operators
- String expressions
- References
- Cast expression
- Collections
- Variable declaration
- The contains( ) method
- Ordering Query Results
- Closing a Query
- 10. Identity
- Overview
- JDO Identity Types
- Metadata
- Identity Class
- Overview
- Datastore Identity
- Application Identity
- Primary-Key Fields
- Persistent Class equals() and hashCode( ) Methods
- The Application-Identity Class
- A Single-Field Primary Key
- A Compound Primary Key
- A Compound Primary Key That Contains a Foreign Key
- Application Identity in an Inheritance Hierarchy
- Nondurable Identity
- Identity Methods
- Get the Identity Class
- Get the Identity of an Instance
- Getting an Instance via Its Identity
- Changing the Application Identity of an Instance
- Get the Current Application Identity of an Instance
- The String Representation of Identity
- Advanced Topics
- Choosing an Identity Type
- Using Identity Versus a Query
- Identity Across PersistenceManagers
- 11. Lifecycle States and Transitions
- Lifecycle States
- Transient
- Persistent-New
- Hollow
- Persistent-Clean
- Persistent-Dirty
- Persistent-Deleted
- Persistent-New-Deleted
- Lifecycle States
- State Interrogation
- State Transitions
- State Transitions During a Datastore Transaction
- State Transitions When a Transaction Completes
- States Between Transactions
- 12. Field Management
- Transactional Fields
- null Values
- Retrieval of Fields
- Default Fetch Group
- Retrieving All Fields
- The Management of Fields
- Serialization
- Managing Fields During Lifecycle Events
- First- and Second-Class Objects
- Specifying a Second-Class Object
- Embedding Collection Elements
- Persistent Classes as Second-Class Objects
- Sharing of Instances
- 13. Cache Management
- Explicit Management of Instances in the Cache
- Refreshing Instances
- Evicting Instances
- Explicit Management of Instances in the Cache
- Cloning
- Transient-Transactional Instances
- Transient-Transactional Lifecycle States
- Transient-clean
- Transient-dirty
- Transient-Transactional Lifecycle States
- State Interrogation
- State Transitions
- Making a Persistent Instance Transient
- 14. Nontransactional Access
- Nontransactional Features
- Reading Outside a Transaction
- Persistent-Nontransactional State
- Retaining Values at Transaction Commit
- Restoring Values at Transaction Rollback
- Before Image
- Restoring Persistent Instances
- Restoring Persistent-New Instances
- Modifying Persistent Instances Outside a Transaction
- Hot Cache Example
- 15. Optimistic Transactions
- Verification at Commit
- Recovery from a Failed Transaction
- Setting Optimistic Transaction Behavior
- Optimistic Example
- Verification at Commit
- Optimistic Transaction State Transitions
- Deleting Instances
- Making Instances Transactional
- Modifying Instances
- Commit
- Rollback
- 16. The Web-Server Environment
- Web Servers
- Accessing the PersistenceManagerFactory
- Looking up the PersistenceManagerFactory in JNDI
- Constructing the PersistenceManagerFactory from Properties
- Accessing the PersistenceManagerFactory
- Servicing Requests
- PersistenceManager per Request
- PersistenceManager per Application
- PersistenceManager per Transactional Request
- PersistenceManager per Session
- Transactions
- JavaServer Pages
- Web Servers
- Struts with JDO
- 17. J2EE Application Servers
- Enterprise JavaBeans Architecture
- Stateless Session Beans
- Configuring the PersistenceManagerFactory
- Stateless Session Beans with Container-Managed Transactions
- Stateful Session Beans with Container-Managed Transactions
- Bean-Managed Transactions
- javax.transaction.UserTransaction
- javax.jdo.Transaction
- Stateless Session Beans with Bean-Managed Transactions
- Stateful Session Beans with Bean-Managed Transactions
- Message-Driven Beans
- Persistent Entities and JDO
- Local Persistent Storage
- JDO
- JDBC
- Local Persistent Storage
- Remote Persistent Storage
- Entity beans
- Session beans as façades
- JDO or CMP?
- A. Lifecycle States and Transitions
- B. JDO Metadata DTD
- C. JDO Interfaces and Exception Classes
- Interfaces
- Extent
- InstanceCallbacks
- JDOHelper
- PersistenceManager
- PersistenceManagerFactory
- Query
- Transaction
- Interfaces
- Exceptions
- JDOCanRetryException
- JDODataStoreException
- JDOException
- JDOFatalDataStoreException
- JDOFatalException
- JDOFatalInternalException
- JDOFatalUserException
- JDOObjectNotFoundException
- JDOOptimisticVerificationException
- JDOUnsupportedOptionException
- JDOUserException
- D. JDO Query Language BNF
- Parameter Declaration
- Variable Declaration
- Import Declaration
- Ordering Specification
- Type Specification
- Names
- Literal
- Filter Expressions
- E. Source Code for Examples
- The com.mediamania.appserver package
- com.mediamania.appserver.CashierBean
- com.mediamania.appserver.JDOPlugIn
- com.mediamania.appserver.LookupMovieAction
- com.mediamania.appserver.MediaValueObject
- com.mediamania.appserver.MovieInfo
- com.mediamania.appserver.PurchaseValueObject
- com.mediamania.appserver.RentalValueObject
- The com.mediamania.appserver package
- The com.mediamania.content package
- com.mediamania.content.ContentQueries
- com.mediamania.content.Game
- com.mediamania.content.MediaContent
- com.mediamania.content.MediaPerson
- com.mediamania.content.Movie
- com.mediamania.content.Role
- com.mediamania.content.Studio.java
- The com.mediamania.hotcache package
- com.mediamania.hotcache.AbstractCache
- com.mediamania.hotcache.AbstractDriver
- com.mediamania.hotcache.CacheAccess
- com.mediamania.hotcache.MasterCache
- com.mediamania.hotcache.MasterDriver
- com.mediamania.hotcache.SlaveCache
- com.mediamania.hotcache.SlaveDriver
- The com.mediamania.store package
- com.mediamania.store.Address
- com.mediamania.store.Customer
- com.mediamania.store.MediaItem
- com.mediamania.store.Purchase
- com.mediamania.store.Rental
- com.mediamania.store.RentalCode
- com.mediamania.store.RentalItem
- com.mediamania.store.StoreQueries
- com.mediamania.store.Transaction
- Index
- About the Authors
- Colophon
- Copyright
O'Reilly Media - inne książki
-
Why are so many companies adopting GitOps for their DevOps and cloud native strategy? This reliable framework is quickly becoming the standard method for deploying apps to Kubernetes. With this practical, developer-oriented book, DevOps engineers, developers, IT architects, and SREs will learn th...(0,00 zł najniższa cena z 30 dni)
271.15 zł
319.00 zł(-15%) -
Learn the essentials of working with Flutter and Dart to build full stack applications that meet the needs of a cloud-driven world. Together, the Flutter open source UI software development kit and the Dart programming language for client development provide a unified solution to building applica...(0,00 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł(-15%) -
The Rust programming language is extremely well suited for concurrency, and its ecosystem has many libraries that include lots of concurrent data structures, locks, and more. But implementing those structures correctly can be very difficult. Even in the most well-used libraries, memory ordering b...(0,00 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
More organizations than ever understand the importance of data lake architectures for deriving value from their data. Building a robust, scalable, and performant data lake remains a complex proposition, however, with a buffet of tools and options that need to work together to provide a seamless e...(0,00 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł(-15%) -
The cloud promises cost savings, agility, and more. But the increasing complexity of modern IT systems often prevents businesses from realizing the outcomes they sought by moving to the cloud in the first place. At the core of this complexity is technical debt. Ad hoc decisions, traditional appro...(0,00 zł najniższa cena z 30 dni)
160.65 zł
189.00 zł(-15%) -
This philosophy-of-programming guide presents a unique and entertaining take on how to think about programming. A collection of 21 pragmatic rules, each presented in a standalone chapter, captures the essential wisdom that every freshly minted programmer needs to know and provides thought-provoki...(0,00 zł najniższa cena z 30 dni)
160.65 zł
189.00 zł(-15%) -
If you've started to work with Raspberry Pi, you know that Raspberry Pi's capabilities are continually expanding. The fourth edition of this popular cookbook provides more than 200 hands-on recipes (complete with code) that show you how to run this tiny low-cost computer with Linux, program it wi...(0,00 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł(-15%) -
How do you turn raw, unprocessed, or malformed data into dynamic, interactive web visualizations? In this practical book, author Kyran Dale shows data scientists and analysts--as well as Python and JavaScript developers--how to create the ideal toolchain for the job. By providing engaging example...
Data Visualization with Python and JavaScript. 2nd Edition Data Visualization with Python and JavaScript. 2nd Edition
(0,00 zł najniższa cena z 30 dni)228.65 zł
269.00 zł(-15%) -
Python is a first-class tool for many researchers, primarily because of its libraries for storing, manipulating, and gaining insight from data. Several resources exist for individual pieces of this data science stack, but only with the new edition of Python Data Science Handbook do you get them a...(0,00 zł najniższa cena z 30 dni)
271.15 zł
319.00 zł(-15%) -
Is Kubernetes ready for stateful workloads? This open source system has become the primary platform for deploying and managing cloud native applications. But because it was originally designed for stateless workloads, working with data on Kubernetes has been challenging. If you want to avoid the ...(0,00 zł najniższa cena z 30 dni)
237.15 zł
279.00 zł(-15%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
W przypadku usługi "Druk na żądanie" termin dostarczenia przesyłki może obejmować także czas potrzebny na dodruk (do 10 dni roboczych)
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.


Oceny i opinie klientów: Java Data Objects. Store Objects with Ease David Jordan, Craig Russell (0)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.